home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Belgian Amiga Club - ADF Collection
/
BS1 part 70.zip
/
BS1 part 70
/
PK-Talk disk 1.adf
/
PK-TALK.ger
< prev
next >
Wrap
Text File
|
1990-12-29
|
51KB
|
1,497 lines
REM * <PK-TALK> V 3.4 / de DC 2 GY / Dez.90
CLEAR,99999&
GOSUB var.in:GOSUB disk.in:GOSUB bbs.in:MENU ON:MOUSE ON
ON MENU GOSUB menue
ON MOUSE GOSUB dummy
rx:
WHILE LOC(1):P=FNb:IF P<cr GOTO rx
P$=CHR$(P):WINDOW OUTPUT 2:PRINT P$;:IF P>cr THEN c$=c$+P$
IF RIGHT$(c$,4)="cmd:" THEN c$=LEFT$(c$,LEN(c$)-4):WINDOW OUTPUT 2:PRINT bs$bs$bs$bs$;
IF P=cr THEN
x$=c$:GOSUB comp
IF wandeln THEN
l=LEN(x$):GOSUB wandeln
IF l<81 THEN LOCATE 25*(1+hires),1:PRINT x$SPACE$(80-l)
IF l>80 THEN LOCATE 24+25*hires,1:PRINT x$SPACE$(160-l)
END IF
c$=x$:IF LEN(x$)>3 AND LEFT$(c$,1)="?" THEN BEEP
bl1=0:x$=c$:c$=x$:IF LEFT$(c$,1)="/" THEN rmt$=c$:fehler=0:GOSUB rmt
ck=INSTR(c$," *** CONNECTED to"):IF ck THEN GOSUB c
ck=INSTR(c$," is: CONNECTED to"):IF ck>0 AND c=0 THEN GOSUB c
IF c THEN
IF INSTR(c$,"*** DISCONNECTED") THEN WINDOW OUTPUT 3:PRINT bs$c$:GOSUB d
IF INSTR(c$,"Link state is: DISCONNECTED") THEN GOSUB d
x=INSTR(c$,"MCON ")
IF x>0 AND INSTR(c$,"was")=0 THEN
ck$=RIGHT$(c$,LEN(c$)-x-8)
IF LEFT$(ck$,4)="now " THEN ck$=RIGHT$(ck$,LEN(ck$)-4)
x=VAL(ck$)+INSTR(ck$,"ON"):IF x>0 THEN rmt1=0 ELSE rmt1=1
IF rmt1=0 OR rmt2=0 THEN GOSUB rmt.aus ELSE GOSUB rmt.ein
GOSUB disp:GOSUB f2
END IF
x=INSTR(c$,"MDIGI ")
IF x>0 AND INSTR(c$,"was")=0 THEN
ck$=RIGHT$(c$,LEN(c$)-x-8)
IF LEFT$(ck$,4)="now " THEN ck$=RIGHT$(ck$,LEN(ck$)-4)
IF INSTR(ck$,"ON")>0 THEN rmt2=0 ELSE rmt2=1
IF rmt1=0 OR rmt2=0 THEN GOSUB rmt.aus ELSE GOSUB rmt.ein
GOSUB disp:GOSUB f2
END IF
END IF
IF LEN(c$)>20 AND MID$(c$,14,1)=":" AND MID$(c$,17,1)=":" AND file=0 THEN
c$=LEFT$(c$,10)+MID$(c$,12,5)+RIGHT$(c$,LEN(c$)-20):GOSUB mhliste
END IF
IF file THEN
IF RIGHT$(c$,16)="BBSMSGS was OFF" THEN c$=LEFT$(c$,LEN(c$)-16):GOTO rx
PRINT#2,x$
END IF
IF brem THEN
WHILE LEN(x$)>80
FOR t=80 TO 60 STEP -1:IF MID$(x$,t,1)<>" " THEN NEXT
IF t>60 THEN
PRINT#2,LEFT$(x$,t-1):x$=RIGHT$(x$,LEN(x$)-t)
ELSE
PRINT#2,LEFT$(x$,79):x$=RIGHT$(x$,LEN(x$)-79)
END IF
WEND
PRINT#2,x$
END IF
IF drucken=1 THEN LPRINT c$
c$="":GOSUB farb:GOTO tx
END IF
WEND
ON rmtw GOSUB rmt.mh,rmt.cat,rmt.r,rmt.i,,rmt.rfl,txt.sn
IF pkin THEN GOSUB pk.in.u
tx:
i$=INKEY$
IF i$="" THEN
GOSUB csr3:IF LEFT$(TIME$,5)<>tim$ THEN GOSUB disp:tim$=ti$
IF bl1>9 AND mhzeig=1 THEN GOSUB mhlist
IF c=0 THEN
IF ctf=2 THEN bl2=bl2+1:IF bl2>2000 THEN ctf=1:GOSUB disp:GOSUB farb
bl1=bl1+1:IF bl1>5000 THEN
FOR bl1=1 TO 3:PALETTE bl1,0,0,0:NEXT:POKE 12574721&,254
END IF
END IF
GOTO rx
END IF
bl1=0:bl2=0:IF i$=" " AND POS(0)>71 THEN i$=cr$
GOSUB dtzz:IF dt GOTO tx
i=ASC(i$+CHR$(0))
IF i>128 AND i<134 THEN ON i-128 GOSUB f1,f2,f3,f4,f5:GOTO rx
IF i>133 AND i<138 THEN ch=i-134:GOSUB chs:GOTO rx
IF i=138 THEN GOSUB f10:GOTO rx
GOSUB csr3:PRINT#1,i$;
tx.check:
IF i$=cr$ THEN
IF LEFT$(txm$,2)="c " OR ctf=1 THEN GOSUB qrv
txm2$=txm$:txm$=""
ELSE
txm$=txm$+i$:l=LEN(txm$):IF l>1 AND i$=bs$ THEN txm$=LEFT$(txm$,LEN(txm$)-2)
END IF:GOTO tx
dtzz: dt=0
IF zsf=1 THEN
IF i$="ä" THEN dt=123
IF i$="ö" THEN dt=124
IF i$="ü" THEN dt=125
IF i$="ß" THEN dt=126
IF i$="Ä" THEN dt=91
IF i$="Ö" THEN dt=92
IF i$="Ü" THEN dt=93
ELSEIF zsf=2 THEN
IF i$="ä" THEN dt=132
IF i$="ö" THEN dt=148
IF i$="ü" THEN dt=129
IF i$="ß" THEN dt=225
IF i$="Ä" THEN dt=142
IF i$="Ö" THEN dt=153
IF i$="Ü" THEN dt=154
ELSEIF zsf=0 THEN
IF i$="ä" THEN i$="ae"
IF i$="ö" THEN i$="oe"
IF i$="ü" THEN i$="ue"
IF i$="ß" THEN i$="ss"
IF i$="Ä" THEN i$="Ae"
IF i$="Ö" THEN i$="Oe"
IF i$="Ü" THEN i$="Ue"
dtf=0:RETURN
END IF
dt:
IF dt=0 THEN RETURN
GOSUB csr3:PRINT #1,CHR$(dt);:txm$=txm$+i$:RETURN
wandeln:
RESTORE wa.ae:x=INSTR(x$,"ae")+INSTR(x$,"Ae")+INSTR(x$,"AE"):IF x THEN GOSUB wa4
RESTORE wa.oe:x=INSTR(x$,"oe")+INSTR(x$,"Oe")+INSTR(x$,"OE"):IF x THEN GOSUB wa4
RESTORE wa.ue:x=INSTR(x$,"ue")+INSTR(x$,"Ue")+INSTR(x$,"UE"):IF x THEN GOSUB wa4
RESTORE wa.ss:IF INSTR(x$,"ss") GOTO wa5
RETURN
wa4:
IF LEFT$(x$,2)="ae" THEN x$="ä"+RIGHT$(x$,LEN(x$)-2)
IF LEFT$(x$,2)="oe" THEN x$="ö"+RIGHT$(x$,LEN(x$)-2)
IF LEFT$(x$,2)="ue" THEN x$="ü"+RIGHT$(x$,LEN(x$)-2)
wa5:
READ y$,z$:IF y$="ende" THEN RETURN
wa6:
x=INSTR(x$,y$):IF x THEN x$=LEFT$(x$,x-1)+z$+RIGHT$(x$,LEN(x$)-x-LEN(y$)+1):GOTO wa6
y$=UCASE$(LEFT$(y$,1))+RIGHT$(y$,LEN(y$)-1):z$=UCASE$(LEFT$(z$,1))+RIGHT$(z$,LEN(z$)-1)
wau6:
x=INSTR(x$,y$):IF x THEN x$=LEFT$(x$,x-1)+z$+RIGHT$(x$,LEN(x$)-x-LEN(y$)+1):GOTO wau6
GOTO wa5
f1: FOR x=0 TO 99:NEXT:PRINT#1,cc$;:RETURN
f2: GOSUB f1:FOR x=0 TO 50:NEXT:PRINT #1,"k":RETURN
f3:
GOSUB qrv:zael=zael+1:tx$(sprache)="TEST"
IF zael>1 THEN tx$(s)=tx$(s)+STR$(zael)
GOTO ddcon
f4: PRINT #1,cc$;:PRINT #1,"d":RETURN
f5: ON ctf+1 GOTO qrv,busy,stby
f10:
IF RIGHT$(txm2$,1)=cr$ THEN txm2$=LEFT$(txm2$,LEN(txm2$)-1)
tx$=txm2$:GOTO dd
qrv: ctf=2:bl1=0:bl2=0:MENU 1,10,2:MENU 1,11,1:MENU 1,12,1:GOTO disp
stby: ctf=1:MENU 1,10,1:MENU 1,11,2:MENU 1,12,1:GOTO disp
busy: ctf=0:MENU 1,10,1:MENU 1,11,1:MENU 1,12,2:ch=0
chs: PRINT#1,esc$RIGHT$(STR$(ch),1);:GOTO disp
mhliste:
MENU STOP:MOUSE STOP:ck=INSTR(c$,"*")
IF (ck>19 AND ck<51) THEN
mh$=UCASE$(LEFT$(c$,ck-1)):IF INSTR(mh$,",") THEN sp3
x=INSTR(mh$,">"):REM IF x>2 THEN IF VAL(MID$(mh$,x-2,2))>0 THEN sp3
IF x THEN
via:
v=1:mhfd=0:mhlen=LEN(mh$)-16
IF mh(v) THEN
FOR i=1 TO mh(v)
IF RIGHT$(mh$,mhlen)=RIGHT$(mhs$(i,v),mhlen) AND LEN(mh$)=LEN(mhs$(i,v)) THEN
IF mhs$(i,v)=mh$ THEN mhfd=2 ELSE mhfd=1:mhs$(i,v)=mh$
END IF
NEXT
END IF
IF mhfd=0 THEN
IF mh(v)<mhmax(v) THEN mh(v)=mh(v)+1:mhs$(mh(v),v)=mh$ ELSE mhs$(1,v)=mh$
END IF
IF mhfd<2 THEN GOSUB mhsort
ELSE
direkt:
v=0:mhfd=0:vnr=VAL(RIGHT$(mh$,2)):IF vnr>0 GOTO sp3
mhlen=LEN(mh$)-16
IF mh(v) THEN
FOR i=1 TO mh(v)
IF RIGHT$(mh$,mhlen)=RIGHT$(mhs$(i,v),mhlen) THEN
IF mhs$(i,v)=mh$ THEN
mhfd=2
ELSE
mhfd=1:mhs$(i,v)=mh$:oft(i)=oft(i)+1
END IF
END IF
NEXT
END IF
IF mhfd=0 THEN
IF mh(v)<mhmax(v) THEN
mh(v)=mh(v)+1:mhs$(mh(v),v)=mh$:oft(i)=1
ELSE
mhs$(1,v)=mh$:oft(1)=1
END IF
END IF
IF mhfd<2 THEN GOSUB mhsort
std=VAL(MID$(c$,11,2)):IF std>stdm THEN GOSUB mh.sp:IF brf>0 AND be>0 AND c=0 THEN GOSUB mail
stdm=std
END IF
sp3: END IF
sprung=0:MENU ON:MOUSE ON
RETURN
d:
FOR t=1 TO 3:MENU 2,t,1:NEXT:MENU 2,band,2:MENU 2,8,1
FOR t=12 TO 15:MENU 3,t,0:NEXT
brem=0:cz=0:s=0:meme=0:rmtw=0:rmt=0:na$="":c=c-1:IF c<0 THEN c=0
ON file GOSUB file.sp:GOSUB zss
lesen=0:CLOSE 2
IF gegst$>"" THEN lc$="letzter Connect: "+wann$+" "+gegst$
GOSUB f1:GOTO mhan
c:
FOR t=1 TO 3:MENU 2,t,0:NEXT:MENU 2,8,0:GOSUB mhaus
fehl.z=0:tx$="mc of"+cr$+"md of":GOSUB ddcmd:txl=0:dx=0:clen=0:usc=upsz:c=c+1
x=INSTR(c$,";"):IF x THEN c$=LEFT$(c$,x-1)
st$=RIGHT$(c$,LEN(c$)-ck-4):wann$=MID$(c$,ck-9,5)
ca$="":x=INSTR(14,st$," "):IF x=0 THEN x=LEN(st$)+1
x$=MID$(st$,14,x-14):GOSUB rufzeichen:gegst$=x$
via$="":x=INSTR(st$,"via"):IF x THEN via$=RIGHT$(st$,LEN(st$)-x+1):dx=1:IF LEN(via$)>12 THEN dx=2
IF auto>0 AND gegsid$=auto$(auto,1) THEN autoz=2:tx$="c "+auto$(auto,2):GOSUB ddcon
GOSUB spe:suf$="":RESTORE ende
WHILE suf$<"X"
READ suf$
IF LEFT$(gegst$,LEN(suf$))=suf$ THEN GOSUB spd:suf$="X"
WEND
x$="Ist die Gegenstation bekannt ?":WIND6
x=VAL(TIME$)
hallo$(0)="Guten Abend":hallo$(1)="Good evening"
IF x<18 THEN
hallo$(0)="Guten Tag":hallo$(1)="Good afternoon"
ELSEIF x<10 THEN
hallo$(0)="Guten Morgen":hallo$(1)="Good morning"
END IF
kartei:
caf=0:z=0:found=0:flg$="PK-Talk.Daten:Kartei/"+gegst$
OPEN"a",#3,flg$:CLOSE 3:OPEN"i",#3,flg$
FOR t=0 TO 9:namen$(t)="":hallo(t)=1:sprache$(t)="-":zsatz$(t)="-":NEXT
FOR t=0 TO 9
IF NOT EOF(3) THEN
LINE INPUT#3,namen$(t):INPUT#3,hallo(t)
INPUT#3,sprache$(t):INPUT#3,zsatz$(t):found=1
END IF
NEXT
CLOSE 3
IF found THEN
IF sprache$(ssid)="eng" THEN GOSUB spe ELSE GOSUB spd
IF zsatz$(ssid)="IBM" THEN z=2 ELSE IF zsatz$(ssid)="DIN" THEN z=1
ON z GOSUB zsd,zsi
END IF
IF hallo(ssid)=0 GOTO logbuch
IF ctf<2 THEN
IF namen$(ssid)>"" THEN hallo$(s)=hallo$(s)+" "+namen$(ssid)
tx$(0)=hallo$(0)+" und vielen Dank für den Anruf."
tx$(1)=hallo$(1)+" and many thanks for calling.":GOSUB ddcon
END IF
sp5: CLOSE 2,3
IF ctf=0 THEN
tx$(0)="Operator leider z.Zt. anderweitig beschäftigt..."
tx$(1)="Operator otherwise busy..."
ELSEIF ctf=1 THEN
tx$(0)="Bitte etwas warten, Operator ist vermutlich ganz in der Nähe..."
tx$(1)="One moment please, operator not far away..."
END IF
IF ctf=0 OR ctf=1 THEN
GOSUB ddcon:IF hallo(ssid)=1 THEN GOSUB hinw
tx$(s)="CMD?>>":GOSUB ddr
END IF
brgef=0:FOR t=1 TO brf
IF brf$(t)=gegst$ THEN
brgef=1:tx$(0)="Ich habe einen Brief für Sie, kann mit /r gelesen werden."
tx$(1)="I have a letter for you, pse enter /r to read it.":GOSUB ddb
END IF
NEXT
logbuch:
x$="Logbuch wird geschrieben":WIND6
x$=" "+datum$+" "+LEFT$(TIME$,5)+" "+band$(band)+" "
x$=x$+LEFT$(gegsid$+SPACE$(10),10)
IF namen$(ssid)>"" THEN
x$=x$+LEFT$(namen$(ssid),15):IF via$>"" THEN x$=x$+" / "+via$
ELSE
x$=x$+via$
END IF
log.zaehl=log.zaehl+1
IF LEN(x$)>79 THEN
x$=LEFT$(x$,79)+cr$+CHR$(10)+SPACE$(38)+RIGHT$(x$,LEN(x$)-79)
log.zaehl=log.zaehl+1
END IF
IF log.dr THEN LPRINT x$ ELSE OPEN "a",#2,"PK-Talk.Daten:DATEN/Logbuch":PRINT#2,x$:CLOSE 2
WINDOW CLOSE 6:RETURN
logbuch.disk: log.dr=0:MENU 3,17,2:MENU 3,18,1:RETURN
logbuch.dr:
log.dr=1:MENU 3,17,1:MENU 3,18,2
IF drucken THEN GOSUB drucken
x$="Überschrift drucken (J/N) ?":WIND6
sort=1:GOSUB key:IF k$<>"j" AND k$<>"n" GOTO logbuch.dr
WINDOW CLOSE 6:IF k$="j" THEN GOSUB logbuch.ueberschrift
flg$="PK-Talk.Daten:DATEN/Logbuch":OPEN "a",#2,flg$:CLOSE 2
OPEN "i",#2,flg$:WHILE NOT EOF(2):LINE INPUT#2,x$:LPRINT x$:WEND
CLOSE 2:KILL flg$:RETURN
logbuch.ueberschrift:
LPRINT" Packet-Radio-Logbuch von === "my$" ===":LPRINT
LPRINT" Datum UT QRG Gegenstation / Name / VIA"
LPRINT" "STRING$(70,"-"):log.zaehl=0
RETURN
kartei.sp:
flg$="PK-Talk.Daten:Kartei/"+gegst$:OPEN"o",#3,flg$
FOR t=0 TO 9
IF namen$(t)="" THEN PRINT#3,namen$(ssid) ELSE PRINT#3,namen$(t)
PRINT#3,hallo(t)
IF sprache$(t)="-" THEN PRINT#3,sprache$(ssid) ELSE PRINT#3," "
IF zsatz$(t)="-" THEN PRINT#3,zsatz$(ssid) ELSE PRINT#3," "
NEXT
CLOSE 3:KILL flg$+".info":RETURN
rmt: DATA mh,cat,r,i,"h mh"
IF rmt=0 OR c=0 OR LEN(c$)>18 THEN RETURN
CLOSE 2:WINDOW OUTPUT 3:rmtz=0:rmtw=0:rub$=""
REM +++ eingabekorrektur +++
IF LEFT$(c$,2)="//" THEN
c$=RIGHT$(c$,LEN(c$)-1):rmt$=RIGHT$(rmt$,LEN(c$)-1)
IF c$=UCASE$(c$) THEN fehler=1
GOTO rmt
END IF
IF LEFT$(c$,2)="/ " THEN
c$=RIGHT$(c$,LEN(c$)-1):rmt$=RIGHT$(rmt$,LEN(c$)-1)
GOTO rmt
END IF
REM +++
c$=UCASE$(c$)
rmt.w:
IF LEFT$(c$,7)="/WRITE "THEN c$="/W"+RIGHT$(c$,LEN(c$)-6)
IF LEFT$(c$,2)="/W" THEN
IF c$="/W" GOTO unvollstaendig
IF c$="/W ON" GOTO rmt.w.von
IF c$="/W OF" OR c$="/W OFF" THEN rmt.wof
fuer$=RIGHT$(c$,LEN(c$)-3):x$=fuer$:GOSUB rufzeichen:fuer$=x$
rmt2:
IF nocall THEN
tx$(0)=x$+" ist ein ungültiges Call!":tx$(1)=x$+" is an invalid call!":GOSUB dde
ELSE
IF c$="/W "+my$ GOTO rmt.w.von ELSE GOTO rmt.w.fuer
END IF
ELSEIF c$="/GER" THEN
GOSUB spd:tx$(0)="REMOTE spricht jetzt deutsch"
sprache$(ssid)="GER":GOSUB kartei.sp:GOTO ddr
ELSEIF c$="/ENG" THEN
GOSUB spe:tx$(1)="REMOTE speaks english now"
sprache$(ssid)="ENG":GOSUB kartei.sp:GOTO ddr
ELSEIF c$="/U DIN" THEN
GOSUB zsd:tx$(0)="Umlaute nach DIN-Norm (äöüÄÖÜß)"
zsatz$(ssid)="DIN":GOSUB kartei.sp:GOTO ddr
ELSEIF c$="/U IBM" THEN
GOSUB zsi:tx$(0)="Umlaute nach IBM-Norm (äöüÄÖÜß)"
zsatz$(ssid)="IBM":GOSUB kartei.sp:GOTO ddr
ELSEIF LEFT$(c$,5)="/U OF" THEN
GOSUB zss:tx$(0)="keine Umlaute mehr"
zsatz$(ssid)="":GOSUB kartei.sp:GOTO ddr
ELSEIF LEFT$(c$,3)="/N " THEN
namen$(ssid)=RIGHT$(rmt$,LEN(c$)-3)
tx$(0)="OK "+namen$(ssid)+", Ihr Namen ist gespeichert."
tx$(1)="OK "+namen$(ssid)+", your name is stored."
GOSUB kartei.sp:GOTO ddr
ELSEIF c$="/D" OR c$="/Q" THEN
tx$(0)="Vielen Dank für's QSO, Tschüß 73, bis zum nächsten Mal!"
tx$(1)="many thanks for the QSO, 73's bye bye, hope to see you again soon!"
GOSUB ddr:FOR tt=1 TO 9999:NEXT:GOTO f4
ELSEIF LEFT$(c$,3)="/R " THEN
fl=VAL(RIGHT$(c$,LEN(c$)-INSTR(c$," ")))
IF fl>flz THEN tx$(0)="Filenummer zu hoch!":tx$(1)="illegal filenumber!":GOTO dde
IF box(fl)=0 THEN tx$(0)="Filenummer falsch!":tx$(1)="illegal filenumber!":GOTO dde
CLOSE 2:rmtw=6:RETURN
ELSEIF LEFT$(c$,5)="/CAT " THEN
rub$=RIGHT$(c$,LEN(c$)-5)
FOR t=1 TO rubz
IF rub$=UCASE$(rubl$(t)) THEN rmtw=2:RETURN
NEXT
tx$(0)="Die Rubrik '"+rub$+"' existiert nicht!"
tx$(1)="this subdir doesn't exist!":GOTO dde
ELSEIF LEFT$(c$,3)="/C " THEN
tx$(0)="Sorry, NetRom-Betrieb nicht möglich!"
tx$(1)="sorry, can't work as netrom!":GOTO dde
rmt.help:
ELSEIF LEFT$(c$,2)="/H" THEN
IF c$="/H" GOTO rmt.h
IF c$="/H MH" GOTO rmt.hm.h
IF LEFT$(c$,4)="/H R" OR LEFT$(c$,6)="/H CAT" GOTO rmt.h.r
GOTO fehler
END IF
IF c$="/V" OR c$="/VER" THEN tx$(s)=ver$:GOTO ddr
IF c$="/K" GOTO rmt.k
IF c$="/M" GOTO mail
IF c$="/A" GOTO rmt.a
RESTORE rmt
FOR rmtw=1 TO 6:READ x$
IF c$<>"/"+UCASE$(x$) THEN NEXT:rmtw=0:IF fehler=0 THEN GOTO fehler
fehler=0:RETURN
rmt.h:
IF rmtz GOTO rmt.rfl
flg$=bbs$(0)+"PK-TALK-intern/help."
GOTO rmt.hu
rmt.qsl:
IF rmtz GOTO rmt.rfl
flg$=bbs$(0)+"PK-TALK-intern/qsl."+band$(band)
rmtm=rmtw:rmtw=7:RETURN
rmt.h.r:
IF rmtz GOTO rmt.rfl
flg$=bbs$(0)+"PK-TALK-intern/help.cat."
GOTO rmt.hu
rmt.hm.h:
IF rmtz GOTO rmt.rfl
flg$=bbs$(0)+"PK-TALK-intern/help.mh."
rmt.hu:
IF s=0 THEN flg$=flg$+"ger" ELSE flg$=flg$+"eng"
rmtm=rmtw:rmtw=7:RETURN
rmt.mh:
IF rmtz=0 THEN
tx$(0)=cv$+cr$+" MH-Liste von "+my$+" --- "+band$(band)+" --- Zeiten in UT"
tx$(1)=cv$+cr$+" --- mheard-list of "+my$+" --- "+band$(band)+" --- UT-time"
GOSUB ddcon:tx$=cv$+cr$+" via digi:":GOSUB ddcon:ue=0:rmtz=1:GOTO mhform
END IF
IF rmtz>mhd THEN
GOSUB ddcon:rmtw=0
tx$(0)="Ende der MH-Liste":tx$(1)="End of MH-List":GOSUB ddr:GOTO ddcon
END IF
IF INSTR(mhd$(rmtz),">")+ue=0 THEN
ue=1:tx$(0)=cv$+cr$+" direkt empfangen:"
tx$(1)=cv$+cr$+" directly heard:":GOSUB ddcon
END IF
tx$=mhd$(rmtz)+cv$:rmtz=rmtz+1:GOTO ddcon
rmt.cat:
IF rub$>"" GOTO rmt.cat.rub
IF rmtz=0 THEN
tx$(0)=STR$(rubz)+" Rubriken /"+STR$(flzbox)+" Files / insgesamt"+STR$(fle&)+" Byte"+cr$
tx$(1)=STR$(rubz)+"subdirectories /"+STR$(rubz)+" files /"+STR$(fle&)+" byte over all"+cr$
GOSUB ddb:rmtz=1
END IF
FOR rmtz=rmtz TO rmtz+3:tx$(s)=tx$(s)+rubl$(rmtz)+SPACE$(20-LEN(rubl$(rmtz))):NEXT
GOSUB ddcon:IF rmtz<=rubz THEN RETURN
tx$(0)="Inhaltsverzeichnis einer Rubrik mit /CAT <Rubrikname>"
tx$(1)="list of files in subdirectory with /CAT <name of subdir>"
rmtw=0:GOTO ddb
rmt.cat.rub:
IF rmtz=0 THEN
rmtz=1:tx$(0)=cr$+cv$+" Nr. File"+SPACE$(40)+"Datum Länge in Byte"
tx$(1)=cr$+cv$+" nr. file"+SPACE$(40)+"date length in byte"
GOSUB ddcon:tx$(s)=" "+STRING$(73,"-"):GOSUB ddcon
END IF
IF box(rmtz) AND rub$(rmtz)=rub$ THEN
tx$(s)=STR$(rmtz)+SPACE$(6-LEN(STR$(rmtz)))+fl$(rmtz)
IF com$(rmtz)>"" THEN tx$(s)=tx$(s)+" / "+com$(rmtz)
tx$(s)=tx$(s)+SPACE$(50-LEN(tx$(s)))+dat$(rmtz)
tx$(s)=tx$(s)+SPACE$(59-LEN(tx$(s)))+STR$(fle&(rmtz))+cv$
GOSUB ddcon
END IF
rmtz=rmtz+1:IF rmtz<=flz THEN RETURN
GOSUB ddcon:tx$(0)="File lesen mit /R <File-Nr.>":tx$(1)="read file with /R <file-no.>"
rmtw=0:rub$="":GOTO ddr
rmt.w.von:
IF brem THEN brief.offen
brief=1:brem=1:ck=0
FOR t=1 TO brv:IF brv$(t)=gegst$ THEN ck=1
NEXT:IF ck=0 THEN
OPEN"a",#2,bk$+"Briefe von":PRINT#2,gegst$:CLOSE 2
brv=brv+1:brv$(brv)=gegst$
END IF
OPEN"a",#2,bk$+"von "+gegst$:von$=gegst$:fuer$="Sysop":GOTO rmt.w.u
rmt.w.fuer:
IF brem THEN brief.offen
brem=1:ck=0:brfnr=brfnr+1:FOR t=1 TO brf:IF brf$(t)=fuer$ THEN ck=1
NEXT:IF ck=0 THEN brf=brf+1:brf$(brf)=fuer$
OPEN"o",#2,bk$+"Briefe für":PRINT#2,brfnr:FOR t=1 TO brf:PRINT#2,brf$(t)
NEXT:CLOSE 2:von$=gegst$:OPEN "a",#2,bk$+"für "+fuer$:c$=""
rmt.w.u:
brem=1:MENU 4,2,1 :tx$(0)="Nachricht für * "+fuer$+" * speichern, Ende mit /W OFF"
tx$(1)="storing mail for * "+fuer$+" * end with /W OFF":GOSUB ddb
brf.header:
IF LOF(2) THEN PRINT#2," "esc$"z_"esc$"z_"esc$"q_":PRINT#2,""
PRINT#2,"Nachricht von * "von$" * vom "datum$" / "LEFT$(TIME$,5)
x$=STR$(brfnr):x$=RIGHT$(x$,LEN(x$)-1)
PRINT#2,"*** message-ID: "RIGHT$("0000"+x$,5)+"*"von$">"my$">"fuer$:PRINT#2,""
RETURN
rmt.wof:
IF brem=1 THEN
CLOSE 2:brem=0:tx$(0)="Danke, Ihre Nachricht an * "+fuer$+" * ist gespeichert.":tx$(1)="Thank's, your message for * "+fuer$+"* is stored.":GOTO ddb
ELSE
tx$(0)=go$+"Kein Brief in Arbeit!":tx$(1)=go$+"No mail in work!":GOTO dde
END IF:rmtw=0:brem=0:RETURN
brief.offen:
tx$(0)="Es ist bereits ein Brief für * "+fuer$+" * in Arbeit !"
tx$(1)="it's already a letter in work for * "+fuer$+" *":GOTO dde
rmt.r:
IF brgef=0 THEN
tx$(0)="Z.Zt. leider keine Nachricht für Sie gespeichert!"
tx$(1)="Sorry, no message stored for you!":GOSUB ddb:rmtw=0
ELSE
IF rmtz=0 THEN
flg$=bk$+"für "+gegst$:rmtm=rmtw:rmtw=7
ELSE
tx$(0)=" Brief-ENDE, löschen mit /K"
tx$(1)="end of letter, kill it with /K"
GOSUB ddb:rmtw=0
END IF
END IF
RETURN
rmt.i:
IF rmtz=1 GOTO rmt.rfl
flg$=bbs$(0)+"PK-TALK-intern/Vorstellung."+band$(band):rmtm=rmtw:rmtw=7
RETURN
rmt.rfl:
IF rmtz=0 THEN
tx$(0)="Filename: "+rub$(fl)+" / "+fl$(fl)+cr$:GOSUB ddb
flg$=bbs$(bbsneu)+rub$(fl)+"/"+fl$(fl):rmtm=rmtw:rmtw=7
RETURN
END IF
rmtw=0:GOSUB ddcon:tx$(0)="* File-ENDE *":tx$(1)="* END of file *":GOTO ddb
rmt.k:
IF brgef=0 THEN
tx$(0)="keine Nachricht für Sie gespeichert, die gelöscht werden könnte!"
tx$(1)="sorry, have no message for you what i could delete":GOTO dde
ELSE
FOR x=1 TO brf
IF brf$(x)=gegst$ THEN
GOSUB loesch.fuer
tx$(0)="Alle Nachrichten an Sie sind jetzt gelöscht."
tx$(1)="All mails for you are deleted"
END IF
NEXT
END IF:brgef=0:GOTO ddb
rmt.a:
rmtw=0:CLOSE 2:tx$(0)="Abbruch durch Benutzer":tx$(1)="abored by user"
rmtw=0:CLOSE 2:GOTO ddr
fehler:
fehl.z=fehl.z+1
tx$(0)=rmt$+" ist ein unbekanntes Kommando!"
tx$(1)=rmt$+" is an unknown Command!":GOSUB dde
rmtw=0:IF fehl.z<2 THEN RETURN
hinw:
tx$(0)="REMOTE-Befehlsliste mit /H":tx$(1)="REMOTE-command-list with /H":GOTO ddcon
unvollstaendig:
tx$(0)=c$+"-Kommando unvollständig!":tx$(1)=c$+"-command uncompletely!"
GOSUB dde:GOTO hinw
comp:
WHILE RIGHT$(x$,1)=" ":x$=LEFT$(x$,LEN(x$)-1):WEND
WHILE RIGHT$(x$,1)=CHR$(0):x$=LEFT$(x$,LEN(x$)-1):WEND
RETURN
brief.menu:
tit$="Brief-Menü":GOSUB wind1
PRINT:PRINT" »» Eingetroffene Briefe für Sysop:":PRINT
IF brv THEN
FOR t=1 TO brv:PRINT t;" von "brv$(t):NEXT
ELSE
PRINT " Nichts gespeichert."
END IF
PRINT:PRINT:PRINT" »» Abgehende Briefe:":PRINT
IF brf THEN
FOR t=1 TO brf:PRINT t+brv" für "brf$(t):NEXT
ELSE
PRINT " Nichts gespeichert."
END IF
PRINT:PRINT:PRINT" Brief ";:IF brv+brf THEN PRINT"<a>nsehen <d>rucken <l>öschen";
PRINT" <s>chreiben <z>urück ? ";:sort=1:GOSUB key:PRINT k$
IF k$<>"a" AND k$<>"s" AND k$<>"l" AND k$<>"d" AND k$<>"z" AND k$<>cr$ GOTO brief.menu
IF k$=cr$ OR k$="z" GOTO cl
IF k$="d" THEN druck=1:k$="a"
IF k$="a" OR k$="l" THEN
PRINT:INPUT" Brief-Nr.: ";x$:x=VAL(x$)
IF x=0 OR x>brv+brf GOTO brief.menu
IF x>brv THEN
flg$=bk$+"für "+brf$(x-brv):brief=brief-1:IF brief<0 THEN brief=0
ELSE
flg$=bk$+"von "+brv$(x)
END IF
END IF
IF k$="a" THEN GOSUB brief.lesen
IF k$="l" THEN
IF x>brv THEN
x=x-brv:x$="für "+brf$(x):PRINT:xx$="der Brief "+x$
GOSUB loesch.jn:IF k$="J" THEN GOSUB loesch.fuer
ELSE
GOSUB loesch.von
END IF
GOTO brief.menu
END IF
IF k$="s" THEN
PRINT:INPUT" Rufzeichen des Empfängers: ";x$
PRINT:IF x$="" GOTO cl
x$=UCASE$(x$):GOSUB rufzeichen:IF nocall THEN cl
fuer$=x$:von$=my$:neu=1:brfnr=brfnr+1:FOR t=1 TO brf
IF brf$(t)=fuer$ THEN neu=0:x=t
NEXT
IF neu THEN brf=brf+1:brf$(brf)=fuer$
OPEN "o",#2,bk$+"Briefe für":PRINT#2,brfnr
FOR t=1 TO brf:PRINT#2,brf$(t):NEXT:CLOSE 2
OPEN "a",#2,bk$+"für "+fuer$:GOSUB brf.header
PRINT:PRINT" +-+ Eingabe-Ende mit <ESC> +-+":PRINT:i$=""
WHILE i$<>esc$:PRINT #2,i$;:i$=INKEY$:GOSUB csr1:WEND:CLOSE 2:GOTO cl
END IF
GOSUB key:GOTO cl
brief.lesen:
CLS:PRINT:OPEN "i",#2,flg$
WHILE NOT EOF(2)
LINE INPUT#2,x$:GOSUB entpack:sort=1:GOSUB blaettern:PRINT x$
IF druck THEN GOSUB druck.zeile
WEND
CLOSE 2:PRINT:PRINT" +-+ Brief-Ende +-+":brief=0
RETURN
loesch.von:
x$="von "+brv$(x):PRINT:xx$="der Brief "+x$
sort=1:GOSUB loesch.jn:IF k$="J" THEN
brv$(x)=brv$(brv):brv=brv-1:KILL bk$+x$:OPEN "o",#2,bk$+"Briefe von"
IF brv THEN FOR t=1 TO brv:PRINT#2,brv$(t):NEXT
END IF
CLOSE 2:GOTO cl
loesch.fuer:
KILL bk$+"für "+brf$(x):brf$(x)=brf$(brf):brf=brf-1
IF brf=0 THEN MENU 4,2,0
OPEN "o",#2,bk$+"Briefe für":PRINT#2,brfnr
IF brf THEN FOR t=1 TO brf:PRINT#2,brf$(t):NEXT
CLOSE 2:RETURN
mhsort:
FOR i=1 TO mh(v)-1:FOR j=i+1 TO mh(v)
IF mhs$(j,v)<mhs$(i,v) THEN SWAP mhs$(i,v),mhs$(j,v):IF v=0 THEN SWAP oft(i),oft(j)
NEXT:NEXT:mhalt=0:mhzeig=1:RETURN
mhform:
mhd=1:v=1
IF mh(v) THEN
FOR i=1 TO mh(v)
GOSUB mhk:mhd$(mhd)=mhf$+SPACE$(40-LEN(mhf$)):i=i+1
IF mhs$(i,v)>"" THEN GOSUB mhk:mhd$(mhd)=mhd$(mhd)+mhf$
mhd=mhd+1
NEXT
END IF
i=1:v=0
IF mh(v) THEN
GOSUB mhk:mhd$(mhd)=mhf$
FOR i=2 TO mh(v)
le=LEN(mhd$(mhd)):GOSUB mhk:lemax=60:IF le<40 THEN lemax=40
IF le<20 THEN lemax=20
IF lemax+LEN(mhf$)<81 AND le<60 THEN
mhd$(mhd)=mhd$(mhd)+SPACE$(lemax-le)+mhf$
ELSE
mhd$(mhd)=mhd$(mhd):mhd=mhd+1:mhd$(mhd)=mhf$
END IF
NEXT
END IF
FOR i=1 TO mhd:mhd$(i)=" "+mhd$(i):NEXT
RETURN
mhk: mhf$=RIGHT$(mhs$(i,v),LEN(mhs$(i,v))-10)
IF v=0 THEN
x$=RIGHT$(STR$(oft(i)),LEN(STR$(oft(i)))-1)
mhf$=mhf$+STRING$(18-LEN(mhf$)-LEN(x$),".")+x$
END IF
RETURN
disp:
MENU STOP:MOUSE STOP
datum$=MID$(DATE$,4,2)+"."+monat$(VAL(DATE$))+"."+RIGHT$(DATE$,2):v=0
REM neuer Tag:
IF datumem$<>datum$ THEN
FOR t=1 TO mh(v):oft(t)=0:x$=mhs$(t,v)
mhs$(t,v)=LEFT$(x$,10)+"--:--"+RIGHT$(x$,LEN(x$)-15):NEXT
FOR t=1 TO mhmax(1):mhd$(t)="":NEXT
FOR t=1 TO mh(1):mhs$(t,1)="":NEXT:mh(1)=0
REM neuer Monat:
IF VAL(datum$)<VAL(mhs$(1,v)) THEN
FOR t=1 TO mh(v):x$=mhs$(t,v):mhs$(t,v)="00"+RIGHT$(x$,LEN(x$)-2):NEXT
END IF
REM aelter wie ne woche weg:
WHILE VAL(mhs$(mh(v),v))>VAL(mhs$(1,v))+6
x=mh(v):mhs$(1,v)=mhs$(x,v):oft(1)=oft(x):oft(x)=0
mhs$(x,v)="":mh(v)=x-1:GOSUB mhsort
WEND
datumem$=datum$:mhdm=0:tx$="mh %":GOSUB ddcmd
END IF
tit$=" "+ver$+"»»» "+band$(band)+" ««« ":ti$=LEFT$(TIME$,5):tim$=ti$
t=1:y$=" "+datum$+" "+ti$+" Sysop "+cta$(ctf)+" Port"+STR$(ch)+" "
IF c THEN y$=y$+" Remote ":IF rmt THEN y$=y$+"EIN " ELSE y$=y$+"AUS "
IF LEFT$(y$,2)=" 0" THEN y$=" "+RIGHT$(y$,LEN(y$)-2)
dlen=LEN(y$):disp$(0)=y$
IF brief THEN
disp$(t)=STR$(brief)+" Brief":IF brief>1 THEN disp$(t)=disp$(t)+"e"
disp$(t)=disp$(t)+" angekommen!":t=t+1
END IF
IF c THEN
IF via$>"" THEN
disp$(t)=LEFT$(st$,LEN(st$)-LEN(via$))
disp$(t)=disp$(t)+"("+namen$(ssid)+"/"+sprache$(ssid)+"/"+zsatz$(ssid)+")"
disp$(t+1)=via$:t=t+2
ELSE
disp$(t)=st$:disp$(t)=disp$(t)+" ("+namen$(ssid)+"/"+sprache$(ssid)+"/"+zsatz$(ssid)+")"
t=t+1
END IF
END IF
IF LEN(lc$) THEN disp$(t)=lc$:t=t+1
y=mha*mhd*8+3:IF c=0 THEN y=212+210*hires
IF meme<>t OR dlem<>dlen THEN
meme=t:dlem=dlen
WINDOW 5,tit$,(630-8*dlen-3*hires,y)-(630-3*hires,y+t*8),18,1:COLOR 3,0
END IF
WINDOW OUTPUT 5:LOCATE 1,1
FOR i=0 TO t-1
PRINT disp$(i)SPACE$(dlen-LEN(disp$(i)));:IF i<t-1 THEN PRINT
NEXT:MENU ON:MOUSE ON:GOTO csr1
ddcon:
l=LEN(x$+tx$(s)):GOSUB f2:GOSUB dd:ON c+1 GOSUB f1,f2
FOR t=1 TO 20000:NEXT:RETURN
ddcmd:
GOSUB f1:GOSUB ddc:ON c GOTO f2
RETURN
ddb:
tx$="":IF c THEN tx$=cr$+cv$
tx$=tx$+"<PBBS>: ":tb=8:GOTO ddcon
ddr: tx$=cr$+cv$+"<RMT>: ":tb=7:GOTO ddcon
dde:
IF fehler=1 THEN RETURN
tx$=cv$+cr$+"<ERROR>: "+go$:tb=9:GOTO ddcon
dds: tx$=SPACE$(tb):GOTO ddcon
ddc:
WINDOW OUTPUT 3:IF POS(0)=2 THEN PRINT bs$;
PRINT tx$:PRINT#1,tx$cr$;:tx$="":RETURN
dd:
x$=tx$+tx$(s):GOSUB comp:tx$=x$+cr$:txm2$=tx$
FOR t=1 TO LEN(tx$):i$=MID$(tx$,t,1):GOSUB dtzz
IF dt=0 THEN PRINT#1,i$;:IF i$<>cc$ AND i$<>cv$ THEN GOSUB csr3
NEXT:tx$="":tx$(0)="":tx$(1)="":RETURN
menue:
x=MENU(0):y=MENU(1)
IF x=1 THEN ON y GOTO ,mhan,mhaus,,be0,be.25,be.5,be.75,,qrv,stby,busy,,hires
IF x=2 THEN ON y GOTO kw,vhf,uhf,,drucken,,pk.in,ende
IF x=3 THEN
ON y GOTO ,zss,zsd,zsi,,,brief.menu,file.sp,file.menu,bbs.neu,,spd,spe,rmt.ein,rmt.aus,,logbuch.disk,logbuch.dr
ELSEIF x=4 THEN
ON y GOTO rmt.i,mail
tx$=txt$(y-2):GOTO ddcon
END IF:RETURN
rmt.ein: MENU 3,14,2:MENU 3,15,1:rmt=1:GOTO disp
rmt.aus: MENU 3,14,1:MENU 3,15,2:rmt=0:GOTO disp
drucken:
IF drucken=0 THEN
drucken=1:MENU 2,5,2:GOSUB logbuch.disk
ELSE
drucken=0:MENU 2,5,1
END IF:RETURN
be0: tx$="b e 0":be=0:GOTO be.u
be.25: tx$="b e"+STR$(INT(95+RND*9)):be=1:GOTO be.u
be.5: tx$="b e"+STR$(INT(185+RND*9)):be=2:GOTO be.u
be.75: tx$="b e"+STR$(INT(240+RND*9)):be=3
be.u: FOR t=5 TO 8:MENU 1,t,1:NEXT:MENU 1,5+be,2:GOTO ddcmd
spd: s=0:MENU 3,12,2:MENU 3,13,1:RETURN
spe: s=1:MENU 3,12,1:MENU 3,13,2:RETURN
kw: GOSUB mh.sp:tx$="hb 300"+cr$+"vhf of":band=1:GOTO band.u
vhf: GOSUB mh.sp:tx$="hb 1200"+cr$+"vhf on":band=2:GOTO band.u
uhf: GOSUB mh.sp:tx$="hb 1200"+cr$+"vhf on":band=3
band.u:
MENU STOP:MOUSE STOP:GOSUB ddcmd:x$="MH-Liste "+band$(band)+" wird geladen":WIND6
OPEN"I",#2,"PK-Talk.Daten:DATEN/MH-"+band$(band)
mhdm=0:mhalt=1:t=0:INPUT#2,datumem$
WHILE NOT EOF(2):t=t+1:INPUT#2,mhs$(t,0):INPUT#2,oft(t):WEND
CLOSE 2:mh(0)=t:mh(1)=0
FOR t=0 TO mhmax(1):mhs$(t,1)="":NEXT
FOR t=1 TO 3:MENU 2,t,1:NEXT:MENU 2,band,2:WINDOW CLOSE 6
WINDOW OUTPUT 2:CLS:LOCATE 25*(1+hires),1:GOTO mhan
file.sp:
tit$="File für's BBS abspeichern:":GOSUB wind1
IF file THEN
MENU 3,7,1:MENU 3,9,1:tx$="bbs of":GOSUB ddcmd
flp&(fl)=LOF(2):CLOSE 2
WINDOW OUTPUT 1:PRINT:tx$="File '"+flg$+"' abgespeichern":GOSUB jn
IF k$="N" THEN GOSUB loesch.fl.u ELSE GOSUB file.com
file=0:GOTO cl
END IF
MENU 3,7,0:MENU 3,9,0:tx$="bbs on":GOSUB ddcmd
WINDOW OUTPUT 1:PRINT:FOR t=1 TO rubz:PRINT t;rubl$(t):NEXT
SCROL:PRINT:INPUT" Rubrik-Nr. ";x$:x=VAL(x$):IF x=0 OR x>rubz THEN file.sp
x$=rubl$(x):GOSUB dir.u:SCROL:INPUT" File-Nr. oder neuer File-Name ";f$
fl=0:IF LEN(f$)<4 THEN fl=VAL(f$)
IF f$="" OR fl>flz THEN cl
IF fl THEN f$=fl$(fl)
FOR j=1 TO flz:IF UCASE$(f$)=UCASE$(fl$(j)) AND rub$(j)=x$ THEN fl=j
NEXT
IF fl=0 THEN flz=flz+1:fl=flz:rub$(fl)=x$:fl$(fl)=f$
flg$=bbs$(bbsneu)+x$+"/"+f$:OPEN "a",#2,flg$:file=1
GOTO cl
file.menu:
tit$="File von Diskette:":GOSUB wind1:flp&=0:fle&=0:flbox&=0:flzbox=0
FOR t=1 TO flz:fle&=fle&+fle&(t):flp&=flp&+flp&(t)
IF box(t) THEN flbox&=flbox&+fle&(t):flzbox=flzbox+1
NEXT
WINDOW OUTPUT 1
PRINT flz"Files insgesamt gespeichert"TAB(40)flzbox"davon für's BBS freigegeben"
PRINT fle&"Byte ungepackt"TAB(40)flbox&"Byte ungepackt"
PRINT flp&"Byte gepackt /";
x$=STR$(10000-INT(10000*flp&/fle&))
PRINT LEFT$(x$,LEN(x$)-2)"."RIGHT$(x$,2)" %":PRINT
FOR t=1 TO rubz:PRINT t;rubl$(t):NEXT:PRINT
INPUT " Rubrik-Nr. ";x$:x=VAL(x$):IF x=0 OR x>rubz THEN cl
x$=rubl$(x):GOSUB dir.u:INPUT " File-Nr. ";k$:fl=VAL(k$)
IF fl>flz OR fl=0 GOTO cl
PRINT:flg$=bbs$(bbsneu)+rub$(fl)+"/"+fl$(fl):PRINT " Filename: "flg$:PRINT
PRINT 0"- Zurück":PRINT 1"- lesen":PRINT 2"- packen":PRINT 3"- entpacken"
PRINT 4"- Umlaute wandeln (ae->ä etc.)":PRINT 5"- drucken":PRINT 6"- löschen"
PRINT 7"- umbenennen":IF c THEN PRINT 8"- senden"
PRINT:flg$=bbs$(bbsneu)+rub$(fl)+"/"+fl$(fl)
OPEN "a",#2,flg$:CLOSE 2:REM fuer den Fall dass das file nicht da ist
sp2: GOSUB key:vz=VAL(k$)
rmtz=0:PRINT:ON vz GOSUB file.rd,pack.entpack,pack.entpack,pack.entpack,file.dr,loesch.fl,rename
IF vz=8 THEN GOSUB rmt.rfl
GOTO cl
file.dr:
druck=1:GOSUB logbuch.disk
SCROL:INPUT" <N>ormal oder <K>omprimiert drucken ";x$:x$=UCASE$(x$)
IF x$<>"N" AND x$<>"K" GOTO file.dr
IF x$="K" THEN dr$=CHR$(15)+esc$+CHR$(65)+CHR$(8)+esc$+CHR$(50) ELSE dr$=""
SCROL:tx$="Mit automatischem Seitenvorschub":GOSUB jn
IF k$="J" THEN vorschub=1 ELSE vorschub=0
SCROL:INPUT" Linke Randposition (0 - 9)";x$:lr=VAL(x$)
file.rd:
CLS:PRINT:lzeile=0:OPEN "i",#2,flg$:flp&(fl)=LOF(2):le&=0
WHILE NOT EOF(2)
LINE INPUT #2,x$:GOSUB entpack:PRINT x$:le&=le&+LEN(x$)+1
IF druck=1 AND (lzeile+LEN(x$)>0 OR vorschub=0) THEN
LPRINT dr$SPACE$(lr)x$:lzeile=lzeile+vorschub
IF lzeile=65 THEN FOR t=1 TO 7:LPRINT:NEXT:lzeile=0
END IF
GOSUB blaettern:IF k$=esc$ THEN CLOSE 2,4:RETURN
WEND:CLOSE 2:fle&(fl)=le&
IF druck THEN druck=0:LPRINT esc$CHR$(65)CHR$(12)esc$CHR$(50):REM Zeilenvorschub normal
PRINT:PRINT" »» File-Ende ««":PRINT:GOTO key
loesch.fl:
PRINT:xx$="das File '"+flg$+"'"
GOSUB loesch.jn:IF k$<>"J" THEN RETURN
loesch.fl.u:
rub$(fl)=rub$(flz):fl$(fl)=fl$(flz):dat$(fl)=dat$(flz):com$(fl)=com$(flz)
box(fl)=box(flz):fle&(fl)=fle&(flz)
flp&(fl)=flp&(flz):flsp(fl)=flsp(flz)
rub$(flz)="":fl$(flz)="":com$(flz)="":box(flz)=0:fle&(flz)=0:flp&(flz)=0:flz=flz-1
OPEN "a",#2,flg$:CLOSE 2:KILL flg$:dirneu=1
GOTO dir.sp
rename:
PRINT " Alter File-Name "fl$(fl):PRINT:SCROL
INPUT " Neuer File-Name ";k$:IF k$="" THEN x$=fl$(fl)
NAME bbs$(bbsneu)+rub$(fl)+"/"+fl$(fl) AS bbs$(bbsneu)+rub$(fl)+"/"+k$
PRINT:fl$(fl)=k$
file.com:
SCROL:INPUT" Bemerkung dazu für's Directory ";x$:IF x$>"" THEN com$(fl)=x$
SCROL:tx$="Für Remote freigeben":GOSUB jn
IF k$="J" THEN box(fl)=1 ELSE box(fl)=0
SCROL:INPUT" Text ist in <E>nglisch / <D>eutsch ",x$
IF x$<>"e" THEN flsp(fl)=0 ELSE flsp(fl)=1
dat$(fl)=datum$:GOTO dir.sp
pack.entpack:
tx$="ct Bitte ein paar Minuten QRX, System betreibt gerade Datenpflege!"
GOSUB ddcmd
le&=0:lp&=0:lw=0:OPEN "i",#2,flg$:OPEN "o",#3,"ram:copy":WINDOW OUTPUT 1
WHILE NOT EOF(2)
LINE INPUT#2,x$:l=LEN(x$)
IF vz=2 THEN
GOSUB entpack:GOSUB comp:PRINT x$:le&=le&+LEN(x$):GOSUB pack:lp&=lp&+LEN(x$)
ELSEIF vz=3 THEN
lp&=lp&+LEN(x$):GOSUB entpack:le&=le&+LEN(x$):PRINT x$
ELSEIF vz=4 THEN
GOSUB entpack:GOSUB comp:l=LEN(x$):PRINT x$
GOSUB wandeln:ll=l-LEN(x$):lw=lw+ll:IF ll THEN COLOR 3:PRINT x$:COLOR 2
le&=le&+LEN(x$):GOSUB pack:lp&=lp&+LEN(x$)
END IF
PRINT#3,x$
WEND
CLOSE 2,3
fle&(fl)=le&:flp&(fl)=lp&:PRINT
OPEN "o",#2,flg$:OPEN "i",#3,"ram:copy"
WHILE NOT EOF(3):LINE INPUT#3,x$:PRINT#2,x$:WEND:CLOSE 2,3
tx$="ct "+ctan$:GOSUB ddcmd:KILL "ram:copy":KILL flg$+".info"
RETURN
jn: SCROL:PRINT " "tx$" (J/N) ? ";
jn.u:
GOSUB key:k$=UCASE$(k$):IF k$="Y" THEN k$="J"
IF k$<>"J" AND k$<>"N" THEN BEEP:GOTO jn.u
COLOR 3:PRINT k$:COLOR 2:PRINT:RETURN
loesch.jn:
PRINT " Soll ";:COLOR 3:PRINT xx$:COLOR 2:tx$="wirklich gelöscht werden"
GOSUB jn:PRINT:IF k$="J" THEN PRINT" Also gut..." ELSE PRINT" Dann halt nicht..."
RETURN
txt.sn:
IF rmtz=0 THEN
rmtz=1:lesen=1:OPEN "i",#2,flg$
tx$(0)="Filelänge:":tx$(1)="file-length:"
tx$(s)=cv$+cr$+tx$(s)+STR$(LOF(2))+" byte"+cv$+cr$:GOSUB ddcon
END IF
IF NOT EOF(2) THEN
LINE INPUT #2,x$:GOSUB entpack:GOSUB comp
IF LEFT$(x$,1)="/" THEN x$=" "+x$
IF NOT EOF(2) THEN x$=x$+cv$ ELSE x$=x$+cr$
tx$=x$:GOTO ddcon
END IF
CLOSE 2:rmtw=rmtm:RETURN
dir.u:
CLS:PRINT:PRINT" Rubrik: "x$TAB(75)"für's":PRINT TAB(44)"Spra-"TAB(77)"BBS"
PRINT" Nr. Filename / Kommentar"TAB(45)"che Datum"TAB(62)"Filelänge"TAB(76)"frei"
PRINT " "STRING$(78,"-")
FOR i=1 TO flz
IF rub$(i)=x$ THEN
l=9-LEN(fl$(i)):IF l<1 THEN l=1
PRINT i;TAB(6)fl$(i)SPACE$(l);:IF com$(i)>"" THEN PRINT "/ "com$(i);
PRINT TAB(47):IF flsp(i)=1 THEN PRINT "E "; ELSE PRINT "D ";
PRINT dat$(i)TAB(61)fle&(i)"/"flp&(i)TAB(76)
IF box(i) THEN PRINT" JA" ELSE PRINT"NEIN"
GOSUB blaettern
END IF
NEXT
PRINT:RETURN
cl:
meme=0:druck=0
ON MOUSE GOSUB dummy:MOUSE ON:WINDOW 2:WINDOW 3:IF mha THEN WINDOW 4
GOTO disp
zss: zsf=0:MENU 3,2,2:MENU 3,3,1:MENU 3,4,1:RETURN
zsd: zsf=1:MENU 3,2,1:MENU 3,3,2:MENU 3,4,1:RETURN
zsi: zsf=2:MENU 3,2,1:MENU 3,3,1:MENU 3,4,2:RETURN
mhaus: MENU 1,2,1:MENU 1,3,2:WINDOW CLOSE 4:mha=0:GOTO disp
mhan: MENU 1,2,2:MENU 1,3,1:mha=1:mhneu=1:meme=0
mhlist:
MOUSE STOP:GOSUB mhform:IF mhd>mhdm THEN mhneu=1:mhdm=mhd:meme=0
IF mhneu THEN WINDOW 4,,(0,0)-(639,(mhd-1)*8-1),16,1
WINDOW OUTPUT 4:LOCATE 1,1:COLOR 2,0:FOR j=1 TO mhd:IF j>1 THEN PRINT
PRINT mhd$(j)SPACE$(80-LEN(mhd$(j)));:mhd$(j)="":NEXT
ON mhneu GOSUB disp:mhneu=0:mhzeig=0:WINDOW OUTPUT 3:MOUSE ON
RETURN
blaettern: IF CSRLIN <30 THEN RETURN
PRINT :PRINT " »» <SPACE> - weiter * <ESC> - Ende ««":GOSUB key
LOCATE 31,1:PRINT SPACE$(79):FOR t=1 TO 25:PRINT:NEXT:LOCATE 5,1
RETURN
key: k$=""
WHILE k$=""
k$=INKEY$
IF sort=1 THEN
i=RND(1)*(flz-1):j=i+1
IF UCASE$(rub$(j)+" "+fl$(j))<UCASE$(rub$(i)+" "+fl$(i)) THEN
SWAP rub$(i),rub$(j):SWAP fl$(i),fl$(j):SWAP dat$(i),dat$(j)
SWAP com$(i),com$(j):SWAP flsp(i),flsp(j)
SWAP box(i),box(j):SWAP fle&(i),fle&(j):SWAP flp&(i),flp&(j)
END IF
END IF
WEND
sort=0:RETURN
hires:
IF hires=0 THEN hires=1 ELSE hires=0
GOSUB ende.u:RUN
var.in:
GOSUB farb:GOSUB bildschirm:x$=" Einen Moment bitte...":WIND6
DEFINT a-z:mhmax(0)=20:mhmax(1)=mhmax(0)/2
DEF FNb=b(ASC(INPUT$(1,1)),zsf)
DIM b(255,2),l(6),s(3)
DIM oft(mhmax(0)),mhd$(mhmax(1)),mhs$(mhmax(0),1),monat$(12):x=180
DIM fl$(x),rub$(x),dat$(x),com$(x),flsp(x),box(x),fle&(x),flp&(x)
flmax=x:DIM rubl$(30),band$(3),s$(1),txt$(17)
band$(1)="KW":band$(2)="VHF":band$(3)="UHF":s$(0)="GER":s$(1)="ENG"
zs$(0)="-":zs$(1)="DIN":zs$(2)="IBM"
cta$(0)="BUSY":cta$(1)="STANDBY":cta$(2)="QRV"
cc$=CHR$(3):go$=CHR$(7):bs$=CHR$(8):cr=13:cr$=CHR$(cr):cv$=CHR$(22):esc$=CHR$(27)
bbs$(0)="PK-Talk.Daten:bbs/":bbs$(1)="df0:":bk$=bbs$(0)+"BRIEFKASTEN/"
RESTORE monat:FOR t=1 TO 12:READ monat$(t):NEXT
OPEN "i",#2,"sys:version.txt":INPUT#2,ver$:CLOSE 2
monat: DATA Jan,Feb,Mrz,Apr,Mai,Jun,Jul,Aug,Sep,Okt,Nov,Dez
FOR t=32 TO 255:FOR i=0 TO 2:b(t,i)=t:NEXT:NEXT
REM IBM
b(15,2)=0:b(142,2)=ASC("Ä"):b(153,2)=ASC("Ö"):b(154,2)=ASC("Ü")
b(132,2)=ASC("ä"):b(148,2)=ASC("ö"):b(129,2)=ASC("ü"):b(225,2)=ASC("ß")
REM ATARI spezial
b(158,2)=ASC("ß")
FOR t=129 TO 225:b(t,0)=b(t,2):NEXT
REM DIN
b(91,1)=ASC("Ä"):b(92,1)=ASC("Ö"):b(93,1)=ASC("Ü")
b(123,1)=ASC("ä"):b(124,1)=ASC("ö"):b(125,1)=ASC("ü"):b(126,1)=ASC("ß")
FOR t=0 TO 2:b(7,t)=7:b(8,t)=8:b(13,t)=13:NEXT
menu.in:
OPEN"I",#2,"sys:menu":WHILE NOT EOF(2):INPUT#2,x1,x2,x3:LINE INPUT#2,x$:GOSUB comp
MENU x1,x2,x3,LEFT$(x$,LEN(x$)-1):WEND:CLOSE 2
GOSUB zss:OPEN "i",#2,bbs$(0)+"PK-TALK-intern/Standardtexte":t=0
WHILE NOT EOF(2)
t=t+1:LINE INPUT#2,x$:txt$(t)=x$:x$=" "+x$
IF LEN(x$)>46 THEN x$=LEFT$(x$,43)+"..."
MENU 4,t+2,1,x$
WEND:CLOSE 2:GOTO logbuch.disk
disk.in:
OPEN"I",#2,bbs$(0)+"BRIEFKASTEN/Briefe von"
WHILE NOT EOF(2):brv=brv+1:INPUT #2,brv$(brv):WEND:CLOSE 2
OPEN"I",#2,bbs$(0)+"BRIEFKASTEN/Briefe für":MENU 4,2,1:INPUT#2,brfnr
WHILE NOT EOF(2):brf=brf+1:INPUT #2,brf$(brf):WEND:CLOSE 2
OPEN"I",#2,"PK-Talk.Daten:DATEN/Parameter":INPUT#2,be,band,hires:CLOSE 2
IF hires THEN
MENU 1,14,1," normal":GOSUB bildschirm
ELSE
MENU 1,14,1," interlace"
END IF
OPEN "com1:9600,n,8,1" AS 1:PRINT #1,"*";:GOSUB band.u
pk.in: pkin=1
pk.in.u:
IF pkin=1 THEN tx$="bbs on"+cr$+"m 0"
IF pkin=2 THEN tx$="da "+RIGHT$(DATE$,2)+LEFT$(DATE$,2)+MID$(DATE$,4,2)+LEFT$(TIME$,2)+MID$(TIME$,4,2)+RIGHT$(TIME$,2)
IF pkin=3 THEN pkin=4:ON be+1 GOTO be0,be.25,be.5,be.75
IF pkin=4 THEN pkin=5:OPEN "sys:startup" FOR INPUT AS #4:RETURN
IF pkin=5 THEN LINE INPUT #4,ctan$:LINE INPUT #4,ctaus$:INPUT #4,my$:tx$="my "+my$
IF pkin=6 THEN tx$="mya PKTALK"+cr$+"ct "+ctan$
IF pkin=7 THEN
IF NOT EOF(4) THEN
LINE INPUT#4,tx$:GOTO ddcmd
ELSE
CLOSE 4
END IF
END IF
IF pkin=8 THEN pkin=-1:tx$="bbs of"+cr$+"c"+cr$+"mh"
pkin=pkin+1:GOTO ddcmd
bbs.neu:
IF bbsneu=0 THEN bbsneu=1 ELSE bbsneu=0
tit$="neue Daten-Disk:":GOSUB wind1:WINDOW OUTPUT 1
PRINT:PRINT" Andere Daten-Disk in Drive DF0: einlegen"
PRINT:PRINT" dann weiter mit <TASTE>"
GOSUB key:PRINT:PRINT " ok.":GOSUB cl:GOTO bbs.in
bbs.in:
flz=0:rubz=0:x$="Disketteninhalt wird eingelesen":WIND6
OPEN"I",#2,bbs$(bbsneu)+"File-dir"
INPUT#2,rubz:FOR t=1 TO rubz:INPUT#2,rubl$(t):NEXT
WHILE NOT EOF(2):ffl=1:flz=flz+1
INPUT#2,rub$(flz):INPUT#2,fl$(flz):INPUT#2,com$(flz):INPUT#2,dat$(flz)
INPUT#2,flsp(flz),box(flz),fle&(flz),flp&(flz):fle&=fle&+fle&(flz)
WEND:CLOSE 2
FOR i=1 TO rubz-1:FOR j=i+1 TO rubz
IF rubl$(j)<rubl$(i) THEN SWAP rubl$(i),rubl$(j)
NEXT:NEXT:WINDOW CLOSE 6:RETURN
dir.sp:
x$="Directory wird abgespeichert":WIND6:dirneu=0
OPEN "o",#2,bbs$(bbsneu)+"File-dir"
PRINT#2,rubz:FOR t=1 TO rubz:PRINT#2,rubl$(t):NEXT
FOR t=1 TO flz:PRINT#2,rub$(t):PRINT#2,fl$(t):PRINT #2,com$(t)
PRINT#2,dat$(t):PRINT#2,flsp(t),box(t),fle&(t),flp&(t):NEXT
WINDOW CLOSE 6:CLOSE 2:RETURN
mh.sp:
IF file THEN RETURN
MENU STOP:MOUSE STOP:tx$="mh %":GOSUB ddcmd
IF mhalt=0 THEN
x$="MH-Liste "+band$(band)+" wird abgespeichert":WIND6
OPEN "o",#2,"PK-Talk.Daten:DATEN/MH-"+band$(band):PRINT #2,datum$
FOR t=1 TO mh(0):PRINT #2,mhs$(t,0):PRINT #2,oft(t):NEXT:CLOSE 2
END IF
WINDOW CLOSE 6:GOTO disp
csr1: WINDOW OUTPUT 1:GOTO csr
csr3: WINDOW OUTPUT 3
csr:
IF i$="" THEN x=VAL(RIGHT$(TIME$,1)):IF sec=x THEN RETURN
sec=x:IF po THEN PRINT bs$;
PRINT i$;:IF POS(0)<79 THEN po=1:PRINT "_"; ELSE po=0
RETURN
rufzeichen:
GOSUB comp:gegsid$=x$:ssid=ABS(VAL(RIGHT$(x$,2))):IF ssid>9 THEN ssid=0
ck=INSTR(x$,"-"):IF ck THEN x$=LEFT$(x$,ck-1)
nocall=0:IF LEN(x$)>6 OR LEN(x$)<3 THEN nocall=1:RETURN
ck$="1234567890":FOR t=1 TO 10
x=INSTR(x$,MID$(ck$,t,1))
IF x>0 AND x<LEN(x$) THEN RETURN
NEXT:nocall=1:RETURN
dummy: meme=0:GOSUB farb:bl2=0:zt=32000:GOTO disp
dummy2: k$=" ":RETURN
mail:
IF c THEN
IF brf THEN
tx$(0)="Nachricht gespeichert für":tx$(1)="mail stored for"
ELSE
tx$(0)="Z.Zt. keine Nachrichten gespeichert":tx$(1)="no mails stored"
END IF
ELSE
tx$(s)="mail for"
END IF
IF brf THEN
FOR t=1 TO brf:tx$(s)=tx$(s)+" * "+brf$(t):NEXT
tx$(s)=tx$(s)+" *":x$=" "+tx$(s):IF LEN(x$)>43 THEN x$=LEFT$(x$,40)+"..."
MENU 4,2,1,x$
ELSE
MENU 4,2,1,""
END IF
GOTO ddb
wind1:
MENU OFF:ON MOUSE GOSUB dummy2:MOUSE ON
WINDOW 1," »»» "+tit$+" ««« ",(0,0)-(639,256),0,1
COLOR 2,0:WINDOW OUTPUT 1:PRINT:RETURN
farb: POKE 12574721&,252:bl1=0
PALETTE 0,0,0,0
PALETTE 1,.1,.3,.8:REM Rahmen
PALETTE 3,.1,1,.1:REM helle Schrift
PALETTE 2,1,.5,0:REM normale Schrift
RETURN
ende:
IF file THEN GOSUB file.sp
GOSUB dir.sp:GOSUB ende.u:CHDIR "sys:":LIST:END
ende.u:
tx$="bbs on"+cr$+"m of"+cr$+"ct "+ctaus$+cr$+"b e 0"
GOSUB ddcmd:GOSUB mh.sp:x$="»» ENDE ««":WIND6
OPEN "o",#2,"PK-Talk.Daten:DATEN/Parameter"
PRINT#2,be,band,hires,idm:CLOSE 2
FOR t=0 TO 99:WHILE LOC(1):WINDOW OUTPUT 2:PRINT INPUT$(1,1);:WEND:NEXT
CLOSE 1:MENU RESET:SCREEN CLOSE 1:RETURN
bildschirm:
SCREEN CLOSE 1
IF hires=0 THEN
SCREEN 1,648,281,2,2
WINDOW 2,,(0,0)-(639,199),16,1:COLOR 2,0:REM rx
WINDOW 3,,(0,212)-(639,250+13),16,1:COLOR 2,0:REM tx
ELSE
SCREEN 1,648,562,2,4
WINDOW 2,,(0,0)-(639,399),16,1:COLOR 2,0
WINDOW 3,,(0,412)-(639,513),16,1:COLOR 2,0
END IF
WIDTH "scrn:",80:GOTO farb
pack:
IF LEN(x$)<5 THEN RETURN
pak$=LEFT$(x$,1):tz=1:tm$="":x$=x$+CHR$(0)
FOR t=2 TO LEN(x$):t$=MID$(x$,t,1):ersez$=""
IF t$=tm$ AND tz<29 THEN
tz=tz+1
ELSE
IF tz>1 THEN
pak$=LEFT$(pak$,LEN(pak$)-1)
IF tz>3 THEN
ersez$=esc$+CHR$(tz+93)+tm$
ELSE
ersez$=STRING$(tz,tm$)
END IF
END IF
pak$=pak$+ersez$+t$:tz=1:tm$=t$
END IF
NEXT
REM rechts gleich?
l=LEN(pak$)-1:x$=LEFT$(pak$,l):ll=l:IF LEN(pmem$)<ll THEN ll=LEN(pmem$)
IF ll>25 THEN ll=25
FOR t=1 TO ll-1:IF RIGHT$(x$,t)=RIGHT$(pmem$,t) THEN NEXT
t=t-1:IF MID$(x$,l-t,1)=esc$ THEN t=t-1
IF t>3 THEN x$=LEFT$(x$,l-t)+esc$+CHR$(t+94)
REM links gleich?
l=LEN(x$):ll=l:IF ll>25 THEN ll=25
FOR t=1 TO ll:IF LEFT$(x$,t)=LEFT$(pmem$,t) THEN NEXT
t=t-1:pmem$=x$:IF t>3 THEN x$=esc$+CHR$(t+94)+RIGHT$(x$,l-t)
RETURN
entpack:
l=LEN(x$):IF l<2 THEN RETURN
IF LEFT$(x$,1)=esc$ THEN x$=LEFT$(emem$,ASC(MID$(x$,2,1))-94)+RIGHT$(x$,l-2)
l=LEN(x$)
IF MID$(x$,l-1,1)=esc$ THEN x$=LEFT$(x$,l-2)+RIGHT$(emem$,ASC(RIGHT$(x$,1))-94)
emem$=x$
WHILE INSTR(x$,esc$)
x=INSTR(x$,esc$):x1$=LEFT$(x$,x-1)
x2$=STRING$(ASC(MID$(x$,x+1,1))-93,MID$(x$,x+2,1))
x3$=RIGHT$(x$,LEN(x$)-x-2):x$=x1$+x2$+x3$
WEND
RETURN
SUB SCROL STATIC
PRINT:PRINT:PRINT:LOCATE CSRLIN-2,1
END SUB
SUB WIND6 STATIC
SHARED x$
x$=" "+x$+" "
WINDOW 6,,(318-LEN(x$)*4,160)-(318+LEN(x$)*4,174),0,1
COLOR 3,1:CLS:PRINT:PRINT x$;
END SUB
SUB REQUESTER (tit$) STATIC
SHARED wahl
hor=40:WINDOW 6,,(180,120)-(420,140),0,1
COLOR 3,1:CLS:PRINT:PRINT tit$;
END SUB
DATA DB,DC,DD,DF,DG,DH,DJ,DK,DL,OE,Y2,Y3,Y4,Y5,Y6,Y7,Y8,Y9,HB9,X
wa.ae:
DATA "Ae","Ä"
DATA " ae"," ä",".ae.",".ä.",".AE.",".Ä."
DATA "baec","bäc","BAEC","BÄC","baed","bäd","BAED","BÄD"
DATA "baeh","bäh","BAEH","BÄH"
DATA "bael","Bäl","BAEL","BÄL"
DATA "baen","bän","BAEN","BÄN"
DATA "baer","bär","BAER","BÄR","baes","bäs","BAES","BÄS"
DATA "baeu","bäu","BAEU","BÄU"
DATA "daec","däc","DAEC","DÄC"
DATA "daem","däm","DAEM","DÄM","daen","dän","DAEN","DÄN"
DATA "daer","där","DAER","DÄR"
DATA "faec","fäc","FAEC","FÄC","faed","fäd","FAED","FÄD"
DATA "faeh","fäh","FAEH","FÄH"
DATA "fael","fäl","FAEL","FÄL"
DATA "faen","fän","FAEN","FÄN"
DATA "faes","fäs","FAES","FÄS"
DATA "gaeb","gäb","GAEB","GÄB"
DATA "gaeh","gäh","GAEH","GÄH"
DATA "gaen","gän","GAEN","GÄN"
DATA "gaer","gär","GAER","GÄR","gaes","gäs","GAES","GÄS"
DATA "gaeu","gäu","GAEU","GÄU"
DATA "geae","geä","GEAE","GEÄ"
DATA "haef","häf","HAEF","HÄF","haeg","häg","HAEG","HÄG","haeh","häh","HAEH","HÄH"
DATA "hael","häl","HAEL","HÄL"
DATA "haen","hän","HAEN","HÄN"
DATA "haer","här","HAER","HÄR","haes","häs","HAES","HÄS","haet","hät","HAET","HÄT"
DATA "haeu","häu","HAEU","HÄU"
DATA "haez","häz","HAEZ","HÄZ"
DATA "jaeg","jäg","JAEG","JÄG"
DATA "jaeh","jäh","JAEH","JÄH"
DATA "jaem","jäm","JAEM","JÄM"
DATA "kaeb","käb","KAEB","KÄB"
DATA "kaef","käf","KAEF","KÄF"
DATA "kael","käl","KAEL","KÄL","kaem","käm","KAEM","KÄM"
DATA "kaep","käp","KAEP","KÄP"
DATA "kaes","käs","KAES","KÄS","kaet","kät","KAET","KÄT"
DATA "laec","läc","LAEC","LÄC","laed","läd","LAED","LÄD"
DATA "laef","läf","LAEF","LÄF","laeg","läg","LAEG","LÄG","laeh","läh","LAEH","LÄH"
DATA "laem","läm","LAEM","LÄM","laen","län","LAEN","LÄN"
DATA "laer","lär","LAER","LÄR","laes","läs","LAES","LÄS","laet","lät","LAET","LÄT"
DATA "laeu","läu","LAEU","LÄU"
DATA "maen","män","MAEN","MÄN"
DATA "maer","mär","MAER","MÄR","maes","mäs","MAES","MÄS"
DATA "maet","mät","MAET","MÄT","maeu","mäu","MAEU","MÄU"
DATA "maex","mäx","MAEX","MÄX"
DATA "naec","näc","NAEC","NÄC"
DATA "naeh","näh","NAEH","NÄH"
DATA "nael","näl","NAEL","NÄL","naem","näm","NAEM","NÄM"
DATA "naer","när","NAER","NÄR","naes","näs","NAES","NÄS"
DATA "paec","päc","PAEC","PÄC"
DATA "paei","päi","PAEI","PÄI"
DATA "paet","pät","PAET","PÄT"
DATA "raec","räc","RAEC","RÄC"
DATA "raef","räf","RAEF","RÄF","raeg","räg","RAEG","RÄG"
DATA "raen","rän","RAEN","RÄN"
DATA "raes","räs","RAES","RÄS","raet","rät","RAET","RÄT","raeu","räu","RAEU","RÄU"
DATA "saec","säc","SAEC","SÄC"
DATA "saem","säm","SAEM","SÄM"
DATA "saet","sät","SAET","SÄT","saeu","säu","SAEU","SÄU"
DATA "taed","täd","TAED","TÄD"
DATA "taeg","täg","TAEG","TÄG"
DATA "tael","täl","TAEL","TÄL"
DATA "taen","tän","TAEN","TÄN"
DATA "taer","tär","TAER","TÄR"
DATA "taet","tät","TAET","TÄT","taeu","täu","TAEU","TÄU"
DATA "waec","wäc","WAEC","WÄC"
DATA "waeg","wäg","WAEG","WÄG","waeh","wäh","WAEH","WÄH"
DATA "wael","wäl","WAEL","WÄL"
DATA "waer","wär","WAER","WÄR","waes","wäs","WAES","WÄS"
DATA "zaeh","zäh","ZAEH","ZÄH"
DATA "zael","zäl","ZAEL","ZÄL","zaem","zäm","ZAEM","ZÄM","zaen","zän","ZAEN","ZÄN"
DATA "michäl","michael","MICHÄL","MICHAEL"
DATA ende
wa.oe:
DATA "Oe","Ö"
DATA "oeff","öff","OEFF","ÖFF","oeft","öft","OEFT","ÖFT"
DATA "oert","ört","OERT","ÖRT"
DATA "oest","öst","OEST","ÖST"
DATA "foed","föd","FOED","FÖD"
DATA "foer","för","FOER","FÖR"
DATA "geoe","geö","GEOE","GEÖ"
DATA "goep","göp","GOEP","GÖP"
DATA "goet","göt","GOET","GÖT"
DATA "hoec","höc","HOEC","HÖC"
DATA "hoef","höf","HOEF","HÖF"
DATA "hoeh","höh","HOEH","HÖH"
DATA "hoel","höl","HOEL","HÖL","hoem","höm","HOEM","HÖM","hoen","hön","HOEN","HÖN"
DATA "hoep","höp","HOEP","HÖP"
DATA "hoer","hör","HOER","HÖR","hoes","hös","HOES","HÖS"
DATA "ioes","iös","IOES","IÖS"
DATA "joer","jör","JOER","JÖR"
DATA "koel","köl","KOEL","KÖL","koem","köm","KOEM","KÖM","koen","kön","KOEN","KÖN"
DATA "koep","köp","KOEP","KÖP"
DATA "koer","kör","KOER","KÖR","koes","kös","KOES","KÖS","koet","köt","KOET","KÖT"
DATA "loeb","löb","LOEB","LÖB","loec","löc","LOEC","LÖC"
DATA "loef","löf","LOEF","LÖF"
DATA "loeh","löh","LOEH","LÖH"
DATA "loes","lös","LOES","LÖS","loet","löt","LOET","LÖT"
DATA "moec","möc","MOEC","MÖC"
DATA "moeg","mög","MOEG","MÖG","moeh","möh","MOEH","MÖH"
DATA "moer","mör","MOER","MÖR"
DATA "noet","nöt","NOET","NÖT"
DATA "roed","röd","ROED","RÖD"
DATA "roeh","röh","ROEH","RÖH"
DATA "roem","röm","ROEM","RÖM","moen","mön","MOEN","MÖN"
DATA "roem","röm","ROEM","RÖM"
DATA "roer","rör","ROER","RÖR","roes","rös","ROES","RÖS","roet","röt","ROET","RÖT"
DATA "soen","sön","SOEN","SÖN"
DATA "toen","tön","TOEN","TÖN"
DATA "toer","tör","TOER","TÖR"
DATA "toet","töt","TOET","TÖT"
DATA "voeg","vög","VOEG","VÖG"
DATA "voel","völ","VOEL","VÖL"
DATA "voer","vör","VOER","VÖR"
DATA "woec","wöc","WOEC","WÖC"
DATA "woeh","wöh","WOEH","WÖH"
DATA "woel","wöl","WOEL","WÖL"
DATA "woer","wör","WOER","WÖR"
DATA "zoeg","zög","ZOEG","ZÖG"
DATA "zoes","zös","ZOES","ZÖS"
DATA "göthe","goethe","GÖTHE","GOETHE"
DATA "pösie","poesie","PÖSIE","POESIE"
DATA ende
wa.ue:
DATA "Ue","Ü","ueue","üü","UEUE","ÜÜ"
DATA "menue","menü","Menue","Menü","MENUE","MENÜ"
DATA "uebe","übe","UEBE","ÜBE","uebl","übl","UEBL","ÜBL","uebr","übr","UEBR","ÜBR"
DATA "uebt","übt","UEBT","ÜBT"
DATA "bueb","büb","BUEB","BÜB","buec","büc","BUEC","BÜC"
DATA "buef","büf","BUEF","BÜF","bueg","büg","BUEG","BÜG","bueh","büh","BUEH","BÜH"
DATA "buen","bün","BUEN","BÜN"
DATA "buer","bür","BUER","BÜR","bues","büs","BUES","BÜS","buet","büt","BUET","BÜT"
DATA "duen","dün","DUEN","DÜN"
DATA "duer","dür","DUER","DÜR","dues","düs","DUES","DÜS"
DATA "fueg","füg","FUEG","FÜG","fueh","füh","FUEH","FÜH"
DATA "fuel","fül","FUEL","FÜL","fuem","füm","FUEM","FÜM","fuen","fün","FUEN","FÜN"
DATA "fuer","für","FUER","FÜR","fuet","füt","FUET","FÜT"
DATA "geue","geü","GEUE","GEÜ"
DATA "guel","gül","GUEL","GÜL"
DATA "guen","gün","GUEN","GÜN"
DATA "hueb","hüb","HUEB","HÜB","huec","hüc","HUEC","HÜC"
DATA "hueh","hüh","HUEH","HÜH"
DATA "huel","hül","HUEL","HÜL"
DATA "huer","hür","HUER","HÜR","hues","hüs","HUES","HÜS","huet","hüt","HUET","HÜT"
DATA "juel","jül","JUEL","JÜL"
DATA "juen","jün","JUEN","JÜN"
DATA "juer","jür","JUER","JÜR"
DATA "kueb","küb","KUEB","KÜB","kuec","küc","KUEC","KÜC"
DATA "kueh","küh","KUEH","KÜH"
DATA "kuek","kük","KUEK","KÜK","kuel","kül","KUEL","KÜL"
DATA "kuem","küm","KUEM","KÜM","kuen","kün","KUEN","KÜN"
DATA "kuer","kür","KUER","KÜR","kues","küs","KUES","KÜS"
DATA "lueb","lüb","LUEB","LÜB","luec","lüc","LUEC","LÜC","lued","lüd","LUED","LÜD"
DATA "luef","lüf","LUEF","LÜF","lueg","lüg","LUEG","LÜG","lueh","lüh","LUEH","LÜH"
DATA "luem","lüm","LUEM","LÜM","luen","lün","LUEN","LÜN"
DATA "luep","lüp","LUEP","LÜP"
DATA "lues","lüs","LUES","LÜS","luet","lüt","LUET","LÜT"
DATA "muec","müc","MUEC","MÜC","mued","müd","MUED","MÜD"
DATA "muef","müf","MUEF","MÜF","mueg","müg","MUEG","MÜG"
DATA "mueh","müh","MUEH","MÜH"
DATA "muel","mül","MUEL","MÜL","muem","müm","MUEM","MÜM","muen","mün","MUEN","MÜN"
DATA "muep","müp","MUEP","MÜP"
DATA "muer","mür","MUER","MÜR","mues","müs","MUES","MÜS","muet","müt","MUET","MÜT"
DATA "nueg","nüg","NUEG","NÜG"
DATA "nuel","nül","NUEL","NÜL","nuem","nüm","NUEM","NÜM","nuen","nün","NUEN","NÜN"
DATA "nuer","nür","NUER","NÜR","nues","nüs","NUES","NÜS","nuet","nüt","NUET","NÜT"
DATA "puer","pür","PUER","PÜR"
DATA "rueb","rüb","RUEB","RÜB","ruec","rüc","RUEC","RÜC","rued","rüd","RUED","RÜD"
DATA "ruef","rüf","RUEF","RÜF","rueg","rüg","RUEG","RÜG","rueh","rüh","RUEH","RÜH"
DATA "ruel","rül","RUEL","RÜL","ruem","rüm","RUEM","RÜM","ruen","rün","RUEN","RÜN"
DATA "ruep","rüp","RUEP","RÜP"
DATA "rues","rüs","RUES","RÜS","ruet","rüt","RUET","RÜT"
DATA "sued","süd","SUED","SÜD"
DATA "tueb","tüb","TUEB","TÜB","tuec","tüc","TUEC","TÜC"
DATA "tuef","tüf","TUEF","TÜF"
DATA "tuel","tül","TUEL","TÜL","tuem","tüm","TUEM","TÜM","tuen","tün","TUEN","TÜN"
DATA "tuer","tür","TUER","TÜR","tues","tüs","TUES","TÜS","tuet","tüt","TUET","TÜT"
DATA "wuen","wün","WUEN","WÜN"
DATA "wuer","wür","WUER","WÜR"
DATA "zuec","züc","ZUEC","ZÜC"
DATA "zueg","züg","ZUEG","ZÜG"
DATA "zuen","zün","ZUEN","ZÜN"
DATA "zuer","zür","ZUER","ZÜR"
DATA "aktüll","aktuell","AKTÜLL","AKTUELL"
DATA "entüll","entuell","ENTÜLL","ENTUELL"
DATA "manüll","manuell","MANÜLL","MANUELL"
DATA "zürst","zuerst"
DATA ende
wa.ss:
DATA "ausser","außer"
DATA "aussen","außen","außenden","aussenden","außendung","aussendung"
DATA "äusser","äußer","ässt","äßt"
DATA "dreissig","dreißig"
DATA "elsass","elsaß"
DATA "fussb","fußb"
DATA "giessen","gießen","giesst","gießt"
DATA "gross","groß","gröss","größ"
DATA "gruss","gruß","grüss","grüß"
DATA "hasst","haßt"
DATA "heiss","heiß"
DATA "küsschen","küßchen"
DATA "lass","laß","laße","lasse"
DATA "lässl","läßl","lässt","läßt"
DATA "mässig","mäßig"
DATA "mess-","meß-"
DATA "missb","mißb","missh","mißh","missl","mißl","missw","mißw"
DATA "muss ","muß ","musst","mußt","müsst","müßt"
DATA "passt ","paßt "
DATA "schliess","schließ"
DATA "schluss","schluß"
DATA "schuss","schuß"
DATA "spass","spaß"
DATA "strasse","straße"
DATA "stoss","stoß","stöss","stöß"
DATA "süss","süß"
DATA "tschüss","tschüß"
DATA "weiss","weiß","weißag","weissag"
DATA "ßss","ßß","ßs ","ßß ","ßs.","ßß."
DATA "äss ","äß "
DATA "biss ","biß "
DATA "dass ","daß "
DATA "guss ","guß "
DATA "kuss ","kuß "
DATA "loss ","loß "
DATA "mass ","maß ","muss ","muß "
DATA "ross ","roß "
DATA ende,